The following example demonstrates how to use a PrintTableView and configure it to display a title in the page headers and the page number in the page footers. The elements added to these sections must be added as DataTemplates and will be repeated on each page.

The Print method will be called in the button's Click event, whose implementation is provided below.

XAML
Copy Code
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
      xmlns:local="clr-namespace:Xceed.Wpf.Documentation">
  <Grid.Resources>
    <xcdg:DataGridCollectionViewSource x:Key="cvs_employees"
                                    Source="{Binding Source={x:Static Application.Current},
                                                        Path=Employees}"/>        
  </Grid.Resources>
 
  <DockPanel>
    <Button Content="Print Grid"
            Click="PrintGrid"
            DockPanel.Dock="Top"/>
      <xcdg:DataGridControl x:Name="EmployeesGrid"
                            ItemsSource="{Binding Source={StaticResource cvs_employees}}">
       <xcdg:DataGridControl.PrintView>
         <xcdg:PrintTableView>
           <xcdg:PrintTableView.PageHeaders>
             <DataTemplate>
               <TextBlock Text="Xceed WPF Documentation"
                          HorizontalAlignment="Center"
                          FontWeight="Bold"
                          FontSize="20"/>
             </DataTemplate>
             <DataTemplate>
               <TextBlock Text="Printing Example"
                          HorizontalAlignment="Center"
                          FontSize="16"/>
             </DataTemplate>
           </xcdg:PrintTableView.PageHeaders>
           <xcdg:PrintTableView.PageFooters>
           <DataTemplate>
             <TextBlock Text="{xcdg:ViewBinding CurrentPageNumber}"
                        HorizontalAlignment="Right"/>
           </DataTemplate>
         </xcdg:PrintTableView.PageFooters>
       </xcdg:PrintTableView>
     </xcdg:DataGridControl.PrintView>
    </xcdg:DataGridControl>
  </DockPanel>
</Grid>
VB.NET
Copy Code
Private Sub PrintGrid( ByVal sender As Object, ByVal e As RoutedEventArgs )
  Me.EmployeeGrid.Print( "Employee_Grid", True )
End Sub
C#
Copy Code
private void PrintGrid( object sender, RoutedEventArgs e )
{
  this.EmployeesGrid.Print( "Employee_Grid", true );
}